Multiple head dispensing system and method

ABSTRACT

Embodiments of the present invention provide a multiple head dispensing system having independently controlled dispensing heads. Each of the dispensing heads may be independently controlled to provide simultaneous, asynchronous operation and to allow dispensing of different materials onto substrates. Independent control of the dispensing heads is accomplished under the control of a controller in conjunction with a plurality of gantry systems, each of which positions one of the multiple dispensing heads over a substrate that is to receive dispensing material. In some embodiments, each gantry system utilizes two drive mechanisms, arranged in parallel, that provide movement of the dispensing head over an x-y plane. Multiple conveyor systems are utilized that allow parallel processing of work products in the dispensing system.

RELATED APPLICATIONS

[0001] This application claims priority from application Ser. No.09/033,022 filed Mar. 2, 1998, which application claims priority fromProvisional Application Ser. No. 60/065,061, filed Nov. 10, 1997, bothof which are incorporated herein by reference.

FIELD OF THE INVENTION

[0002] The present invention relates generally to an apparatus andmethod for performing a plurality of work operations in parallel using aplurality of work devices within one workstation. More specifically, thepresent invention relates to an apparatus and method for controlling adispensing system that dispenses material onto a substrate using aplurality of dispensing heads within a dispensing system.

BACKGROUND OF THE INVENTION

[0003] There are several types of prior art dispensing systems used fordispensing metered amounts of liquid or paste for a variety ofapplications. One such application is in the assembly of printed circuitboards and integrated circuit chips. In this application, dispensingsystems are used in the process of encapsulating integrated circuitswith an encapsulating material and in the process of underfilling flipintegrated circuit chips with an encapsulent. Prior art dispensingsystems are also used for dispensing dots or balls of liquid epoxy orsolder onto circuit boards and integrated circuits. The liquid epoxy andsolder is used to connect components to a circuit board or to anintegrated circuit. The dispensing systems described above include thosemanufactured and distributed by Camelot Systems, Inc., the assignee ofthe present invention, under the name CAM/ALOT®.

[0004] The dispensing systems described above are typically used in anelectronics manufacturing facility in an automated assembly line withother equipment used in a circuit board or integrated circuitmanufacturing process. The other equipment in-line with the dispensingsystems may include, for example, pick and place machines, which placecomponents on circuit boards, or reflow ovens that are used to curematerials dispensed onto the circuit boards or integrated circuits.

[0005] In a typical dispensing system, a pump and dispenser assembly ismounted to a moving assembly for moving the pump and dispenser assemblyalong three mutually orthogonal axes (x, y, z) using servomotorscontrolled by a computer system or controller. To dispense a dot ofliquid on a circuit board at a desired location, the pump and dispenserassembly is moved along the horizontal x and y axes until it is locatedover the desired location. The pump and dispenser assembly is thenlowered along the vertical z axis until the nozzle of the pump anddispenser assembly is at an appropriate dispensing height over theboard. The pump and dispenser assembly dispenses a dot of liquid, isthen raised along the z axis, moved along the x and y axes to a newlocation, and is lowered along the z axis to dispense the next liquiddot.

[0006] During the manufacture of circuit boards, it is sometimesnecessary, or desirable, to dispense two different liquids or pastesonto a circuit board or to dispense different volumes of the samematerial. Dispensing systems have been designed that can dispense one ofa number of dispensing materials from one dispensing head. One exampleof such a dispensing system is described in U.S. patent application Ser.No. 08/519,146, filed Aug. 24, 1995, which is incorporated herein byreference. These dispensing systems typically are only able to dispenseone material at a time, and the throughput of product in these systemsmay be less than desired because of the time required to dispensemultiple materials serially using one dispensing head.

[0007] To overcome the throughput problem, two dispensing systems may beplaced adjacent to each other with the first dispensing systemdispensing one material and the second dispensing system dispensing asecond material. This solution is expensive since two complete machinesare used, and since additional manufacturing space is required. Intypical operations, manufacturing floor space is limited, and it isdesirable to limit the “footprint” of each manufacturing system on themanufacturing floor.

[0008] In electronics assembly, it is not uncommon for somemanufacturing systems to utilize multiple conveyor systems operating inparallel to increase product throughput of the systems. Typical priorart dispensing systems do not include multiple conveyor systems and arenot fully compatible with other in-line systems using multipleconveyors. Therefore, it would be desirable to provide a dispensingsystem having multiple conveyors.

[0009] It is also desirable to provide a multitasking control system fora multiple conveyor dispensing system that allows subsystems within thedispensing system to operate in a simultaneous, asynchronous manner. Inaddition, it is desirable for the control system to allow remotemonitoring and control of the dispensing system by a remote controlleror host computer of the electronics manufacturing facility.

SUMMARY OF THE INVENTION

[0010] Embodiments of the present invention overcome drawbacks of theprior art discussed above by providing a multiple head dispensing systemhaving independently controlled dispensing heads. Each of the dispensingheads may be independently controlled to provide simultaneous,asynchronous operation and to allow dispensing of different materialsonto substrates.

[0011] In embodiments of the present invention, independent control ofthe dispensing heads is accomplished under the control of a controllerin conjunction with a plurality of gantry systems, each of whichpositions one of the multiple dispensing heads over a substrate that isto receive dispensing material. In some embodiments, each gantry systemutilizes two drive mechanisms, arranged in parallel, that providemovement of the dispensing head over an x-y plane.

[0012] In some embodiments of the present invention, multiple conveyorsystems are utilized that allow parallel processing of work products inthe dispensing systems.

[0013] Embodiments of the present invention are not limited todispensing systems, but also include other systems utilizing multipleconveyors and multiple work devices coupled to a plurality of gantrysystems to provide independent movement of each of the work devices. Inaddition, control systems, including control software, in accordancewith embodiments of the present invention may be used to controlequipment other than dispensing machines, and may be used to controlmachines having one, or more than one, work devices.

BRIEF DESCRIPTION OF THE DRAWINGS

[0014] For a better understanding of the present invention, reference ismade to the drawings which are incorporated herein by reference and inwhich:

[0015]FIG. 1 is a perspective view of a multiple head dispensing systemin accordance with one embodiment of the present invention;

[0016]FIG. 2 is a top view of the dispensing system of FIG. 1;

[0017]FIG. 3 is a perspective view of a conveyor system used in thedispensing system of FIG. 1;

[0018]FIG. 4 is a top view of the conveyor system shown in FIG. 3;

[0019]FIG. 5 is a block diagram showing a block diagram of a controlsystem in accordance with one embodiment of the present invention forcontrolling the dispensing machine of FIG. 1; and

[0020]FIG. 6 is a diagram showing the architecture of the software usedin the controller of the dispensing system of FIG. 1.

DETAILED DESCRIPTION

[0021] For purposes of illustration, embodiments of the presentinvention will now be described with reference primarily to a multiplehead dispensing system, however, those skilled in the art willappreciate that embodiments of the present invention are not limited todispensing systems, but include other systems in which a work device isused to perform some task on a product. Examples of such systems includetest and measuring systems, component placement systems, inspectionsystems and machining systems, such as milling machines. In addition,embodiments of the present invention may include a number of differenttypes of work devices within one system. For example, a system mayinclude a dispensing head, a vision inspection system, and a componentplacement head, each of which may be positioned independently using itsown gantry system.

[0022] One embodiment of a dispensing system 10 will now be describedwith reference to FIGS. 1 and 2. FIG. 1 shows a perspective view of amultiple head dispensing system 10 in accordance with one embodiment ofthe present invention. For ease of illustration, the system is shown inFIG. 1 without an outer covering. FIG. 2 shows a top view of thedispensing system 10.

[0023] The dispensing system 10 includes a lower compartment 12 that isused to house electrical and pneumatic controllers and a primary systemcontroller. Access doors 14 and 16 are mounted on the front of the lowercompartment to provide access to the equipment contained therein. Thetop of the lower compartment forms a work surface 18 on which a dualtrack conveyor 20 resides. Mounted to the work surface 18 are four x/ygantry systems 22 a, 22 b, 22 c and 22 d. Each of the gantry systemssupports a dispensing head 24 a, 24 b, 24 c and 24 d which dispensesmaterial onto substrates loaded into the dispensing system using theconveyor system 20, and in addition, in some embodiments of the presentinvention, each of the gantry systems supports a camera used as part ofa vision system as described below in further detail. The work surface18 has four holes through which four cable troughs 26 a, 26 b, 26 c and26 d pass. Each of the cable troughs are used to run cables from thecontrol electronics and pneumatics in the lower compartment to each ofthe dispensing heads 24 a, 24 b, 24 c and 24 d. In one embodiment, thecable troughs are implemented using an E-Chain available from IgusCorporation.

[0024] The gantry systems 22 a, 22 b, 22 c and 22 d are substantiallyidentical and in one embodiment are implemented using one of the gantrysystems disclosed in either U.S. patent application Ser. No. 08/967,682,entitled “Positioning System”, filed concurrently with the presentapplication, or in U.S. patent application Ser. No. 08/796,026, alsoentitled “Positioning System”, filed Feb. 6, 1997, both of which areincorporated herein by reference. Gantry system 22 a will now bedescribed in greater detail with reference to FIGS. 1 and 2, it beingunderstood that gantry systems 22 b, 22 c and 22 d are substantiallyidentical to gantry system 22 a. Gantry system 22 a provides positioningof the dispensing head 24 a along the horizontal, orthogonal x and yaxes shown in FIG. 1. In addition, gantry system 22 a includes a motorfor lowering the dispensing head in the vertical z direction.

[0025] Gantry system 22 a includes two horizontal support members 26 and28 and four vertical support members 30, 32, 34 and 36 coupled to thework surface 18. A motor support plate 38 is coupled between thehorizontal support members and is used to support two motors 74 and 76.The gantry 22 a also includes a plate 50 that is slidably mounted torails (not shown) disposed on the under side of each of the horizontalsupport members so that the plate can move along the y-axis. Dispensinghead or pump 24 a is mounted to a carriage 60 which in turn is slidablymounted to the plate 50 to permit movement of the dispensing head alongthe x-axis.

[0026] Gantry system 22 a further includes two nut blocks 66 and 68 thatare slidably movable along the rails mounted under the horizontalsupport members 26 and 28. Each of the nut blocks is coupled to one ofthe motors 74, 76 through a respective lead screw 70, 72. The nut blockscan be separately driven by the motors using the lead screws to move thenut blocks along the y-axis. The carriage 60 is connected to each nutblock 66, 68 with respective rigid trailing arms 80, 82 that arepivotally connected at one end to one of the nut blocks and at the otherend to the carriage 60. As explained in greater detail in U.S. patentapplication Ser. No. 08/796,026, the dispensing head 24 a may bepositioned along the x and y axes by moving the nut blocks along they-axis using motors 74 and 76. Motors 74 and 76, as well as the z-axismotor coupled to the carriage 60, are controlled by the primary systemcontroller located in the lower compartment.

[0027] The dispensing heads 24 a, 24 b, 24 c and 24 d may be implementedusing a number of different dispensing heads or pumps including thosedisclosed in U.S. patent application Ser. No. 08/562,068, and in U.S.patent application Ser. No. 08/885,005, each of which is incorporatedherein by reference.

[0028] The gantry systems 22 a, 22 b, 22 c and 22 d provide asignificant advantage in the dispensing system 10. As described in U.S.patent application Ser. No. 08/796,026, the ratio of the working areabeneath the gantry system to the total width of the gantry system ismuch greater for the gantry systems described above than for typical x/ygantry systems. This reduces the time required to move a work productbetween work positions in the multiple head dispensing system, and alsoreduces the total footprint of the dispensing system 10.

[0029] The conveyor system 20 will now be described in greater detailwith reference to FIGS. 3 and 4. FIG. 3 provides a perspective view ofthe conveyor system, while FIG. 4 provides a top view. Several elementsof the conveyor system have been removed from the top view shown in FIG.4 for clarity. The conveyor system 70 includes four rails 90, 92, 94 and96 that define two lanes, identified as a back lane and a front lane,for transporting work products, such as circuit boards, integratedcircuit carriers and other substrates into, through, and out of thedispensing system 10. The conveyor sections define eight work areas 200,202, 204, 206, 208, 210, 212, and 214, as shown in FIG. 4.

[0030] Each of the rails comprises four substantially identical, modularconveyor sections 98, and each rail of the conveyor system has an endadapter 100 at each end of the rail. Support blocks 102 are used to holdrail sections 96 together and to hold the conveyor sections in place onthe work surface of the dispensing system. The rails are connected bytracks 104 a, 104 b, 104 c, 104 d and 104 e, which are mounted to thework surface.

[0031] The width w1 and w2 of each of the lanes of the conveyor system20 may be adjusted by moving the rails to different positions along thetracks to accommodate different size work products. Width w1 may bedifferent than width w2.

[0032] In one embodiment of the present invention, each of the modularconveyor sections 98 is implemented using a conveyor section inaccordance with one of the embodiments disclosed in U.S. patentapplication Ser. No. 08/745,787, filed Nov. 8, 1996, incorporated hereinbe reference. Specifically, the conveyor sections include a driver suchas a pneumatic cylinder with a camming plate incorporated into the sideof the conveyor section. The driver is used to lift work products abovethe conveyor to a work position beneath one of the dispensing heads ofthe dispensing system.

[0033] Each of the conveyor sections includes a conveyor 106 that may beimplemented as a continuous belt consisting of black neoprene over acotton cord or may be implemented as a series of links. The conveyor 106is wrapped around four pulleys 108 a, 108 b, 108 c and 108 d. A total ofeight drive shafts, four drive shafts 110 and four drive shafts 111, areused to operate the conveyors. Each of the drive shafts is coupled toits own motor 112 to allow independent operation of each pair ofconveyor sections. Operation of each of the motors is controlled by theprimary system controller. For simplification, only two of the motors112 are shown in FIG. 3.

[0034] Four drive shafts 110 are used to drive the conveyor segments inthe back lane, and four drive shafts 111 are used to drive the conveyorsegments in the front lane. For uniformity and ease of manufacturing,all eight drive shafts are substantially identical, and each of thedriveshafts extends through all four rails. Cogs are selectively addedto the lower pulleys 108 a and 108 d to cause the pulleys to rotate withthe drive shafts. In the conveyor system 20, for all conveyor sectionsin the back lane, the lower pulleys closest to the input side of theconveyor system include a cog, and the lower pulleys closest to theoutput side of the conveyor system do not have a cog. For all conveyorsections in the front lane, the lower pulleys closest to the input sideof the conveyor system do not include a cog, and the lower pulleysclosest to the output side of the conveyor system do include a cog. Thisimplementation allows each pair of conveyor sections, defining one ofthe work areas, to operate independently. As understood by those skilledin the art, to meet specific application demands, the cogs may bearranged in other configurations.

[0035] Each of the end adapters 100 has a conveyor 101 that is coupledto the conveyor 106 of the adjacent conveyor section using an extensionpiece 103 so that each conveyor 101 is driven by the conveyor 106 of theadjacent conveyor section.

[0036] As described above, all of the conveyor sections 98 aresubstantially identical. In addition, each conveyor section issymmetrical about a vertical axis perpendicular to the direction ofconveyor travel and passing through the middle of the conveyor section.This allows identical conveyor sections to be used on opposite rails ofthe same lane, and at any position (i.e., at the input end, output end,or in the middle) in any of the rails.

[0037] The conveyor system 20 includes several features that make itparticularly desirable for use in the multiple head dispensing system10. First, because the conveyor system is constructed usingindependently controllable, modular sections, the length of the conveyorsystem can be readily adjusted. Specifically, the number of segmentsused in each rail of each lane of the conveyor system may be adapted tocorrespond to the number of dispensing heads or other workpieces used inthe dispensing system.

[0038] Second, the width of each rail segment in one embodiment of thepresent invention is only 0.56 inches thick. This is accomplished byincorporating a thin lifting plate within the side of each conveyorsegment, as discussed above. Further, in some embodiments of the presentinvention, the conveyor belt is not used in clamping the work product inplace at the proper work position. Rather, a clamp consisting of anindependent blade which is easily removable and can be customized for agiven application is used. In addition, an easily removable insert canbe added to each segment to reduce the effective width of the conveyorto accommodate a variety of work products. The use of thin rail segmentsis desirable in embodiments of the present invention to reducenon-productive slew time as a dispensing head is moved from a completedwork product in the first lane of the dispensing system to another workproduct in the second lane of the dispensing system.

[0039] The control system of the dispensing system will now be describedwith reference to FIG. 5, which shows a block diagram of the controlsystem 300. The primary component of the control system is the systemcontroller 302 which is implemented in one embodiment of the presentinvention using a personal computer with an Intel Pentium® II processorrunning a version of the Microsoft Windows® NT Operating System,prefereably, version 4.0 or later. The controller is coupled to theconveyor system 20 and each pump 24 a, 24 b, 24 c, and 24 d through acommunications bus 318, which in one embodiment is physically containedwithin the motion controller 304 (described below). The controller 302is also coupled to each of the gantry systems 22 a, 22 b, 22 c and 22 d.

[0040] The controller 302 includes a system board 310, a visionprocessor 306, two motion controllers 304 and 308, an ethernet card 312,a modem 314, and an internal bus 302 connecting the components of thecontroller. The controller may also include a user interface apparatussuch as a keyboard, mouse, trackball and monitor coupled to the internalbus 308.

[0041] The motion control boards 304 and 308, under the control of thesystem board, provide signals for controlling: motion of the gantrysystems; the dispensing of materials from the pumps; and the movement ofthe conveyor system 20. In one embodiment of the present invention, eachof the motion controller boards are implemented using a Delta Tau PMAC2Ultralite motion card available from Delta Tau Data Systems, Inc.,Northridge, Calif., and each of the cards controls two of the gantrysystems.

[0042] The vision processor 306 controls and processes signals receivedfrom cameras 320 mounted on the gantry systems, and provides processedvision signals to the system board 310. In embodiments of the presentinvention, the cameras may be used: to locate fiducial marks on workproducts loaded into the dispensing system for alignment purposes; toinspect work products after material has been dispensed, or some otheroperation has been performed, and to identify a type of work productloaded into the dispensing system. In one embodiment of the presentinvention, the vision processor is implemented using a Matrox MeteorBoard available from Matrox Electronics Systems Ltd. of Montreal,Canada, and the cameras are implemented using RS-170 compliant camerasavailable from Sony.

[0043] The ethernet card 312 and the modem 314 are not required in allembodiments of the present invention, however, they provide thecapability of remote communications for the controller 302.

[0044] The overall architecture of the software loaded on the systemboard 310 and the subsystems that operate within the software will nowbe described with reference to FIG. 6. The overall software architecturefor the control system uses a three-tier client/server model with thethree tiers being chassis clients, chassis server, and vision server.The software is designed to be event-driven rather than polled.Accordingly, active objects or subsystems in the control software willsuspend themselves until a message is received, and it is theresponsibility of the messaging subsystem (described below) to providebasic services for sending, receiving and waiting on messages betweensubsystems.

[0045] In FIG. 6, block 310 represents the software contained within thesystem board, and each of the dark boxes 326, 328, 330, 332, 334 and 336within block 310 represents a Windows NT process operating on the systemboard, with block 326 representing the chassis server process and blocks328, 330, 332, 334 and 336 representing chassis client processes. Blocks348, 340 and 342 represent chassis client processes operating externalto the system board, block 328 represents the vision server process, andblock 320 represents physical chassis clients which may include one ormore local or remote devices from which the operation of the dispensingsystem can be monitored and controlled. Contained within each of thedark boxes, representing a process, are labeled white boxes whichrepresent subsystems of the processes.

[0046] Each of the processes, and the subsystems contained within theprocesses will now be further described beginning with those subsystemscontained within the chassis server process 326. The chassis serverprocess encompasses software that controls the physical equipment (i.e.,the gantry systems, the dispensing heads, and the conveyor systems),except for the vision equipment, associated with the dispensing system.The chassis server process is implemented using a single process tofacilitate maximum bandwidth for communications between subsystemscontained within the chassis server process. In one embodiment of thepresent invention, the software code used to implement the chassisserver process is written in C++.

[0047] The message subsystem 340, contained within the chassis server,provides a standardized message system for performing allinter-subsystem communication. The message subsystem is capable ofdelivering messages to recipients (identified as consumers) in the sameprocess as the consumer and to consumers in different processes usingRPC (Remote Procedure Call) calls to deliver messages across boundaries.

[0048] The connection services subsystem 342 is responsible for managinglocal and remote client connections to the chassis server. Theconnection services subsystem provides a globally accessible connectionport for use by chassis clients, manages the creation and deletion ofspecial connections used for transferring large amounts of data, andprovides arbitration services for determining which of the chassisclients is designated as a master client. The concept of master clientis discussed further below.

[0049] The chassis supervisor 348 is responsible for the overall controland coordination of the dispensing system and for guaranteeing thesafety of the equipment. It provides control and synchronization overthe following subordinate subsystems: head supervisor 364; patternservices 362; conveyor 350; light tower 346; and the vision processor306.

[0050] The pattern services subsystem 362 provides pattern services forthe dispensing system. The pattern services subsystem acts essentiallyas a database containing patterns or recipes that define dispense headpositions to create predefined patterns of dispensed materials onsubstrates. The pattern services subsystem provides pattern read/writeservices, pattern upload/download services, management of subpatterns ofa recipe, and operators for retrieving a next instruction for a specificdispensing head based on a recipe selected for the dispensing head. Inembodiments of the present invention, the recipes may include some orall of the following: substrate characteristics (i.e., boarddimensions), the sequence of operations to be performed on thesubstrate, a representation of features of a substrate to be identifiedby the vision system, and any other information related to the overallprocess. Additional patterns or recipes may be added to the patternservices subsystem using DLLs (Dynamic Link Libraries).

[0051] The conveyor subsystem 350 is responsible for managing theoverall state of the conveyor system of the dispensing system.Specifically, the conveyor system performs the following functions:selectively turning conveyor segments and/or lanes on and off asappropriate; managing handshaking with machines upstream and downstreamfrom the dispensing system in an assembly line using SMEMA (SurfaceMount Equipment Manufacturers Association) protocols; and notifying thechassis supervisor of events such as the location of circuit boards inthe dispensing system via the message subsystem. The conveyor subsystemuses a state machine for managing each conveyor segment and forcoordinating the movement of each conveyor segment with its neighbors tobring new substrates in and move existing substrates out at the earliestpoint in time.

[0052] The head supervisor subsystem 364 has the responsibility forcontrolling position of the dispensing heads to perform a desireddispensing operation based on commands received from the chassissupervisor having pattern or recipe data provided by the patternservices subsystem. A separate instance of a head supervisor object iscreated for each dispensing head controlled by the control system. Eachinstance of the head supervisor object includes a message receiver, astate machine, an execution thread to sequence a dispensing head througha pattern or recipe, an X,Y,Z, pump control object (described furtherbelow) for communicating with the motion controller cards to providehead motion and pump control, and a Z sense object (which is describedfurther below).

[0053] The X,Y,Z, pump control object 366 is responsible for performingdispense operations. These operations do not require real-time responsefrom the chassis services process, but rather, are carried out by themotion controllers in response to a packet of information describing theoperation provided by the X,Y,Z, pump control object.

[0054] The Z sense object 368 is responsible for determining the heightof each of the dispensing heads above the substrates and operates inconjunction with a mechanical touch probe or some other device such as alaser sensor. The height information generated by the Z sense object isused to accurately position a dispensing needle of the dispensing headsat a proper dispensing height over the substrate.

[0055] The I/O services subsystem 352 provides a logical interface forall I/O points supported by the dispensing machine. This subsystem isdesigned to be both configurable and extensible by using informationstored in the database services subsystem 370 to define controllerinformation including: identification of controllers contained in thecontrol system; device specific initialization data for the controllers;and available I/O points on the controllers. The I/O services subsystemalso defines I/O point configuration information including: logical nameof specific I/O points; board assignments and bit assignments.

[0056] The motion control manager subsystem 352 provides a genericlogical interface for motion control to allow additional options to beadded to the dispensing system which require motion controlcapabilities.

[0057] The alarm manager subsystem 344 and the light tower subsystem 346provide control for an audible alarm and for a light tower attached tothe dispensing system.

[0058] The log manager subsystem 358 can be configured to receivemessages from any other subsystem. The log manager creates a log ofreceived messages on disk for subsequent retrieval. The log manager alsosupports query services of stored information using date, subsystem, andother fields for selective retrieval of data.

[0059] The debug subsystem 354 is responsible for providing a standardset of mechanisms which all other subsystems can utilize for reportingand/or logging of debug information.

[0060] The database services subsystem 370 is responsible for providinga generic set of services for storage and retrieval of all chassisrelated persistent data, including system initialization data, exceptfor the actual dispense patterns or recipes which are managed by thepattern services subsystem. In embodiments of the present invention, theinformation managed by this subsystem includes: user security records;controller information; I/O logical-to-physical mapping information;motion control axis logical-to-physical information; general systemconfiguration information such as pump configurations, conveyorconfiguration, and log file configuration; substrate tracking data; andcurrent pattern information.

[0061] In embodiments of the present invention, there are a number ofdifferent chassis clients that can be simultaneously connected to thechassis server. Additionally, there may be multiple instances of aparticular type of client simultaneously connected to the chassisserver. There is a separate NT process for each of the chassis clients.In the embodiment shown in FIG. 6, there are four different types of NTprocesses shown, monitor 336, SPC (remote 338 and local 334), GEM/SEC(remote 340 and local 332, and GUI (remote 342 and local 332) forconnecting to different types of chassis clients. In other embodiments,there may be more or less chassis clients, and other types of chassisclients, such as an application developed by a user of the dispensingsystem.

[0062] The GUI process allows remote and local users to monitor and/orcontrol the dispensing machine using standard graphical user interfacedevices. In one embodiment of the present invention, the controller ofthe dispensing machine includes a monitor, keyboard and a trackball ormouse to provide a physical user interface that communicates with thedispensing machine through the local GUI process 330. In otherembodiments, a remote computer may provide the physical user interfaceand connect to the controller of the dispensing system through a RAS(Remote Access Service) connection.

[0063] The GEM/SECS (General Equipment Model/Semiconductor CommunicationStandards) process provides an interface for a factory cell or hostcomputer. In manufacturing facilities it is often desirable to have acentral control and monitoring facility. The GEM/SECS process enablesembodiments of the dispensing machine to be monitored and controlled bya host computer.

[0064] The SPC process is used in embodiments of the present inventionto support statistical process control, and may be implemented eitherwithin the dispensing system controller or in a remote processor. TheSPC process is contained in a process separate from the chassis serverto isolate it from the chassis server process to enable it to beoperated as a remote process when desired.

[0065] The monitor process provides the ability for a remote or localprocess to monitor the overall activity of the chassis server process.In embodiments of the present invention, the monitor process may be usedto track all connections, processes, threads and critical objects, andmay be used to assist in performing diagnostics, including remotediagnostics.

[0066] As described above, a number of clients may access the chassisserver to monitor operation of the dispensing system. However, in apreferred embodiment of the present invention, only one client, referredto as a master, can control the dispensing system at a time. In thisembodiment, upon initialization of a system using initialization datacontained in the database system, the GUI software operating on thecontroller in the dispensing equipment is designated as the masterclient. The GUI software on the controller may pass the masterdesignation to remote clients, and after passing the master to a remoteclient, may subsequently retrieve it again.

[0067] The vision process 328 is an NT process distinct from the clientprocesses and the chassis server process. The vision process providesthe software for communicating with the vision processor 306 and thevision hardware in the dispensing machine. The primary client of thevision process is the chassis server process, and more specifically,instances of the head supervisor that make requests to the visionprocess to, for example, locate an object (such as a fiducial mark)prior to or during execution of a recipe.

[0068] In embodiments of the present invention, there are severaladvantages to implementing the vision process as a distinct process fromthe chassis server process. First, there is a tight coupling between theGUI and the vision system, to provide a user with images generated bythe vision system. Therefore, it is desirable that the vision processand the GUI process be run in the same computer, and in embodiments ofthe present invention utilizing a remote GUI (i.e., a remote computer),since the vision process is a distinct process, it may be run in thesame computer as the GUI.

[0069] Second, there is a loose connection between the vision system andthe chassis server since minimal amounts of data are transferred betweenthese processes during normal operation of the dispensing system.

[0070] Third, performance gains may be realized in embodiments of thepresent invention due to multiprocessing provided by the vision processin parallel with the processing occurring in the head supervisors. Thismay be particularly true for embodiments of the present inventionincorporating several gantry systems operating simultaneously, so thatseveral instances of head supervisors are also operating simultaneously.

[0071] An additional advantage to implementing the vision process as adistinct process is that data libraries, available from differentvendors, may be included without introducing possible errors into thecore chassis server process. In one embodiment of the present invention,the vision process is implemented using software from Matrox.

[0072] The implementation of the control system described above providesseveral advantages. First, the three tier design approach providesseparation of machine control, real-time functions from lessperformance-critical software, such as the client processes, and allowsexecution of client processes on remote computers. Second, it provides astandard interface that can be utilized by different types of clients.Third, the software is designed to perform many activities in parallel,asynchronously. For example, implementing the head supervisor of eachdispensing head using separate instances, allows the dispensing heads tooperate in parallel in an asynchronous manner providing greaterflexibility in the operation of the dispensing system.

[0073] The operation of the dispensing system 10 will now be described.While specific modes, of operation are described herein, one of thesignificant advantages of embodiments of the present invention is theflexibility of the dispensing system to operate in a variety of modes,and embodiments of the present invention are not limited to the specificmodes described herein. In one mode of operation, the dispensing systemis configured for dispensing material on one type of circuit board infour separate operations, one operation being performed by each of thefour dispensing heads. The front lane and the back lane are bothconfigured to receive the same type of circuit board. In thisconfiguration, when circuit boards are being indexed in one lane,dispensing can occur on the circuit boards in the other lane. Thisconfiguration increases the overall throughput of circuit boardscompared to typical prior art dispensing systems, and reduces the amountof idle time of the dispensing heads due to indexing of circuit boards.This mode of operation employs a pipelined, parallel architecture toincrease total system throughput.

[0074] In another mode of operation of the dispensing system 10, thesystem may be used to increase throughput even though a circuit board(or some other substrate) is to receive only one type of dispensingmaterial, and the dispensing task requires only one size dispensingneedle. For this mode of operation, each of the dispensing heads aresubstantially identical, and the overall dispensing task is divided andorganized among the dispensing heads to provide the most efficient modeof operation. The division of the dispensing task among the dispensingheads may be accomplished in one of number of ways. The division may bemade based on types of dots to be dispensed, based on dispensinglocations on the circuit boards, or on other criteria.

[0075] In the embodiments discussed above, the number of conveyorsections in each rail is equal to the number of dispensing heads in thedispensing system. In other embodiments, the number of conveyor sectionsmay be greater than the number of dispensing heads, and a gap may beprovided between two of the gantry systems to provide a conveyor buffersegment. Such a buffer segment may be used as a preheat segment or forany other application that may require or benefit from a buffer segment.

[0076] In one embodiment of the present invention, the number ofconveyor sections may be some multiple of the number of gantry systems.This provides additional flexibility in the operation of the system, andis useful when a work product, such as a circuit board, is larger thanthe work area of one of the gantry systems.

[0077] Embodiments of the present invention utilizing a dual laneconveyor system overcome drawbacks of prior art single lane dispensingsystems by providing a system that is compatible with other dual lanemanufacturing equipment in an automated assembly line. In addition, themultiple lane embodiments described herein may also be implemented intoassembly lines with single lane equipment using a board shuttlingmechanism between the multiple lane dispenser and other equipment. Thisis useful for relatively slow dispensing operations. Further,embodiments of the present invention provide for the dispensing ofmultiple materials within one dispensing system while maintaining highthroughput rates.

[0078] Embodiments of the dispensing system described above include fourgantry systems and a two lane conveyor system. As readily understood byone skilled in the art, dispensing systems (and other multiple workpiecemachines) in accordance with embodiments of the present invention mayinclude more or less than four gantry systems and a conveyor systemhaving more or less than two lanes.

[0079] In one embodiment of the present invention, the vision systemdescribed above is used to determine a type of circuit board or someother substrate that has been received by the dispensing system. In thisembodiment, the control system, based on output signals from the visionsystem indicative of the type of circuit board, selects a pattern orrecipe defining an operation to be performed on the board, and controlsthe dispensing system to perform the operation. In other embodiments,systems other than the vision system may be used to determine the typeof circuit board received. For example, optical decoders, or otherdevices such as bar code readers, may be used.

[0080] Embodiments of the present invention directed to the controlsystem and control software used to monitor and control the dispensingsystem are not limited for use with dispensing systems or multiplegantry machines. Rather, embodiments of the control system may be usedwith other machines and devices.

[0081] Having thus described at least one illustrative embodiment of theinvention, various alterations, modifications and improvements willreadily occur to those skilled in the art. Such alterations,modifications and improvements are intended to be within the scope andspirit of the invention. Accordingly, the foregoing description is byway of example only and is not intended as limiting.

What is claimed is:
 1. A control system for controlling an apparatusthat performs at least one operation on at least one substrate, thecontrol system comprising: a user interface for coupling to a userinterface device through which a user of the apparatus can monitor andcontrol operation of the apparatus; a chassis server including: aconnection system that provides an interface between the chassis serverand the user interface; a message system, that transfers messagesbetween systems within the chassis server; a chassis management systemthat controls the apparatus to perform the at least one operation on theat least one workpiece; a pattern management system that contains atleast one recipe defining characteristics of the operation to beperformed on the workpiece, and provides messages over the messagesystem to the chassis management system so that the chassis managementsystem controls the apparatus based on the characteristics of the atleast one recipe.
 2. The control system of claim 1, wherein theconnection system includes a plurality of user interfaces for allowing aplurality of user interface devices to simultaneously monitor operationof the apparatus.
 3. The control system of claim 2, wherein theconnection system is designed to allow only one user interface device ofthe plurality of user interface devices to control operation of theapparatus.
 4. The control system of claim 3, wherein at least one of theuser interfaces is configurable to provide connection to a remote userinterface device.
 5. The control system of claim 1, wherein theapparatus includes a work head that performs the operation on thesubstrate, and wherein the control system further includes a headmanager that provides an interface between the chassis management systemand the work head to communicate commands from the chassis manager tothe work head and to transmit status information from the work head tothe chassis manager.
 6. The control system of claim 5, wherein theapparatus includes a plurality of work heads that can simultaneouslyperform operations on a plurality of substrates, and wherein the controlsystem is configured to establish a separate instance of the headmanager for each of the work heads, so that each of the work heads cansimultaneously operate in an asynchronous manner.
 7. The control systemof claim 6, wherein the pattern management system includes a pluralityof recipes, one of which is selected for each instance of the headmanager, and wherein characteristics of one of the recipes arecommunicated to each instance of the head manager by the patternmanagement system, so that each of the work heads can perform differentoperations as defined by the recipes.
 8. The control system of claim 7,wherein the apparatus is a dispensing system, wherein each of the workheads is a pump for dispensing dots of material on a substrate, andwherein the recipes define dispensing patterns of the dots on thesubstrate.
 9. The control system of claim 8, further comprising a sensorthat detects a type of substrate that is loaded into the apparatus andselects a recipe from the pattern management system based on the type ofsubstrate that is loaded into the apparatus.